package com.laisheng.interview.mapper;

import com.laisheng.interview.model.Notification;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface NotificationMapper {
    
    // 插入通知
    void insert(Notification notification);
    
    // 获取所有未读通知
    List<Notification> getUnreadNotifications();
    
    // 获取所有通知
    List<Notification> getAllNotifications();
    
    // 标记通知为已读
    void markAsRead(@Param("id") Long id);
    
    // 根据类型获取通知
    List<Notification> getNotificationsByType(@Param("type") String type);
    
    // 获取未读通知数量
    int getUnreadCount();
    
    // 根据日期获取通知
    List<Notification> getNotificationsByDate(@Param("date") String date);
    
    // 批量标记通知为已读
    void markMultipleAsRead(@Param("ids") List<Long> ids);
    
    // 标记所有通知为已读
    void markAllAsRead();
} 